Execution of complex arithmetic operations and algorithms requires the continuous and repetitious use of conventional addition, subtraction, division and multiplication in ordinary binary form. All of these arithmetic operations involve addition which, as is well known, requires carry propagation that causes inefficiency each time one of these operations is used. Unfortunately, algorithm realizations utilizing conventional arithmetic generally depend on the ability to execute add and multiply operations and to use these two operations to perform the operations of subtract, divide and appropriate combinations. Conventional embedded systems using such repeated addition, subtraction, multiplication and division to achieve execution for algorithms can be extremely wasteful in terms of time and integrated circuit xe2x80x9creal estatexe2x80x9d.
Use of coefficient polynomial arithmetic (CPA) enables higher-level execution structures with efficient, early merging and accumulation, increasing computation volume by using the coefficient polynomials. As parallel arithmetic hardware structures, necessary to perform parallel execution, are considered for embedded computing, it is important to form at a higher level of architecture the components that are useful in executing operations and combinations of operations for application algorithms. Generally, there is potential for increased efficiency with asynchronous-logic realization when parallel or highly-parallel hardware structures are implemented at coarse-granularity levels of mathematical functionality.
The more complicated arithmetic applications demonstrate the highest efficiencies when operations and algorithms are merged creatively at routinely propitious phases of the execution process, without performing the entire basic arithmetic separately for each operation of the algorithm.
Sets of coefficient polynomials are used to design embedded-component architectures that have capability for asynchronous parallel execution at an advantageous arithmetic level where algebraic merging is realized with other operations, algorithms or applications. Factors to consider in designing such embedded-component architecture are algorithmic-hardware robustness, flexible design needs and positioning for future technology exploitation. This includes efficient-processing realizations for entire algorithms and the integration of algorithm suites. An example of the robustness of an embedded system using coefficient polynomials is illustrated in the design of an asynchronous arithmetic processor to be used as the basic design module for embedded environments.
Because of the particular hardware structures made possible by the use of CPA, higher computational granularities and complex modules are more easily feasible. Further, increased efficiency is obtained for algorithmic computations involving single and multiple operations. This is achieved by the merging of operations and the integration of algorithms, and thereby avoiding the necessity of performing the entire basic arithmetic separately for each operation or algorithm. In the Asynchronous Parallel Arithmetic (APA) Processor Utilizing Coefficient Polynomial Arithmetic (CPA)xe2x80x94henceforth referred to as the xe2x80x9cAPA Processorxe2x80x9dxe2x80x94the sets of coefficient polynomials represent the merged operations or algorithms at much earlier time slots and their resolution to the final result level is accomplished with notably increased efficiency when compared to conventional structures.